Imports System.Xml
Imports System.Data.SqlClient
Public Class dAfectacionOperador

    Public Function Insertar(ByVal CodigoOrdenServicio As Long, ByVal legajo As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        Parametros.Add(New SqlParameter("@pELegajo", legajo))
        Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If
        Return dConexion.ABM("STORE_TblAfectacionOperadorAlta", Parametros)
    End Function
    Public Function Eliminar(ByVal CodigoOrdenServicio As Integer) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        Return dConexion.ABM("STORE_TblAfectacionOperadorEliminar", Parametros)
    End Function
    Public Function Modificar(ByVal CodigoOrdenServicio As Long, ByVal legajo As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If legajo <> 0 Then
            Parametros.Add(New SqlParameter("@pELegajo", legajo))
        End If
        If AfectacionDesde <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        End If

        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If
        Return dConexion.ABM("STORE_TblAfectacionOperadorModificar", Parametros)
    End Function
    Public Function Buscar(ByVal CodigoOrdenServicio As Long, ByVal legajo As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If legajo <> 0 Then
            Parametros.Add(New SqlParameter("@pELegajo", legajo))
        End If
        If AfectacionDesde <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        End If

        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If
        Return dConexion.Consultar("STORE_TblAfectacionOperadorBuscarFiltrado", Parametros)
    End Function
    Public Function Listar() As DataSet
        Return dConexion.Consultar("STORE_TblAfectacionOperadorBuscarFiltrado", New ArrayList)
    End Function
    '...nueva funcion para listar operadores afectados
    Public Function ListarOPeradoresAfectados(ByVal CodigoOrdenServicio As Long, ByVal legajo As Long, ByVal AfectacionDesde As Date, ByVal AfectacionHasta As Date) As DataSet
        Dim Parametros As ArrayList = New ArrayList
        If CodigoOrdenServicio <> 0 Then
            Parametros.Add(New SqlParameter("@pECodigoOrdenServicio", CodigoOrdenServicio))
        End If
        If legajo <> 0 Then
            Parametros.Add(New SqlParameter("@pELegajo", legajo))
        End If
        If AfectacionDesde <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionDesde", AfectacionDesde))
        End If

        If AfectacionHasta <> (New Date) Then
            Parametros.Add(New SqlParameter("@pEAfectacionHasta", AfectacionHasta))
        End If
        Return dConexion.Consultar("STORE_TblOperadoresAfectados", Parametros)
    End Function
    Public Function Existe(ByVal legajo As Integer) As Boolean
        Dim Parametros As ArrayList = New ArrayList
        Parametros.Add(New SqlParameter("@pElegajo", legajo))
        Return dConexion.Consultar("STORE_TblAfectacionOperadorDisponibles", Parametros).Tables(0).Rows.Count > 0
    End Function
End Class
